package Enlaces;

import com.ancientprogramming.fixedformat4j.annotation.Record;
import com.ancientprogramming.fixedformat4j.annotation.Field;
import com.ancientprogramming.fixedformat4j.annotation.Align;
import com.ancientprogramming.fixedformat4j.annotation.FixedFormatPattern;

import java.util.Date;

/**
 * A record containing some simple datatypes to show basic parsing and formatting.
 *
 * @author Jacob von Eyben - http://www.ancientprogramming.com
 * @since 1.2.0
 */
//START-SNIPPET: basicrecord
@Record
public class BancoCreditoCabecera {

  @Field(offset = 1, length = 1)
  public String getStrPlanillaNueva() {
    return this.strPlanillaNueva;
  }      
  
  /*************************************************************/
  

  @Field(offset = 2, length = 1)  
  public String getStrTipoRegistro() {
    return this.strTipoRegistro;
  }
  
  
  /*************************************************************/
  
  @Field(offset = 3, length = 1)  
  public String getStrTipoPagoMasivo() {
    return this.strTipoPagoMasivo;
  }
  
  public void setStrTipoPagoMasivo( String strTipoPagoMasivo ) {
    this.strTipoPagoMasivo = strTipoPagoMasivo;    
  }
  
  /*************************************************************/


  @Field(offset = 4, length = 1)
  public String getStrTipoProducto() {
    return this.strTipoProducto;
  }
  
  
  public void setStrTipoProducto( String strTipoProducto ) {
    this.strTipoProducto = strTipoProducto;    
  }
  
  /*************************************************************/
  

  @Field(offset = 5, length = 20)
  public String getStrNroCtaCorr() {
    return this.strNroCtaCorr;
  }
  
  
  public void setStrNroCtaCorr( String strNroCtaCorr ) {
    this.strNroCtaCorr = strNroCtaCorr;    
  }
  
  /*************************************************************/
  
  @Field(offset = 25, length = 2)
  public String getStrMoneda() {
    return this.strMoneda;
  }
  
  public void setStrMoneda( String strMoneda ) {
    this.strMoneda = strMoneda;    
  }
  
  /*************************************************************/
  
  
  @Field(offset = 27, length = 15, align = Align.RIGHT, paddingChar = '0')
  public String getStrImpCargar() {
    return this.strImpCargar;
  }
    
  public void setStrImpCargar( String strImpCargar ) {
    this.strImpCargar = strImpCargar;
  }
  
  /*************************************************************/
  
  @Field(offset = 42, length = 8)  
  @FixedFormatPattern("ddMMyyyy")
  public Date getDateFecha() {
    return this.dateFecha;
  }

  public void setDateFecha(Date dateFecha) {
    this.dateFecha = dateFecha;   
  }
  
  
  /*************************************************************/
  
  @Field(offset = 50, length = 20, align = Align.LEFT, paddingChar = ' ')
  public String getStrReferencia() {
    return this.strReferencia;
  }
  
  public void setStrReferencia( String strReferencia ){
  	this.strReferencia = strReferencia;  	
  }
  
  
  /*************************************************************/
  
  @Field(offset = 70, length = 15, align = Align.RIGHT, paddingChar = '0')
  public String getStrTotalControl() {
    return this.strTotalControl;
  }
  
  public void setStrTotalControl( String strTotalControl ){
  	this.strTotalControl = strTotalControl;  	
  }
  
  
  /*************************************************************/
  
  
  @Field(offset = 85, length = 6, align = Align.RIGHT, paddingChar = '0')
  public String getStrTotalRegAbono() {
    return this.strTotalRegAbono;
  }
  
  public void setStrTotalRegAbono( String strTotalRegAbono ){
  	this.strTotalRegAbono = strTotalRegAbono;  	
  }
  
  /*************************************************************/
  
  @Field(offset = 91, length = 1)  
  public String getStrSubTipoPagoMasivo() {
    return this.strSubTipoPagoMasivo;
  } 
  
  public void setStrSubTipoPagoMasivo( String strSubTipoPagoMasivo ){
  	this.strSubTipoPagoMasivo = strSubTipoPagoMasivo;  	
  }
    
  /*************************************************************/
  
  @Field(offset = 92, length = 15, paddingChar = ' ')  
  public String getStrIdentificadorDividendos() {
    return this.strIdentificadorDividendos;
  } 
  
  public void setStrIdentificadorDividendos( String strIdentificadorDividendos ){
  	this.strIdentificadorDividendos = strIdentificadorDividendos;  	
  }
    
  /*************************************************************/
  
  @Field(offset = 107, length = 1)  
  public String getStrIndicadorNotaCargo() {
    return this.strIndicadorNotaCargo;
  } 
  
  public void setStrIndicadorNotaCargo( String strIndicadorNotaCargo ){
  	this.strIndicadorNotaCargo = strIndicadorNotaCargo;  	
  }  
    
  private String strPlanillaNueva = "#";
  private String strTipoRegistro = "1";
  private String strTipoPagoMasivo = "H";
  private String strTipoProducto = "C";
  private String strNroCtaCorr; 
  private String strMoneda = "S/";
  private String strImpCargar;
  private Date dateFecha = new Date();  //La Fecha en la cual se genera el archivo de texto
  private String strReferencia = "FLP DEL PERU";
  private String strTotalControl; //checksum
  private String strTotalRegAbono; //Numero de usuarios
  private String strSubTipoPagoMasivo;
  private String strIdentificadorDividendos;
  private String strIndicadorNotaCargo = "1";
  
}

